<template>
  <div>
    <particles></particles>
    <div class="module">
      <div class="content">
        <div class="logo">
          <img src="@/assets/logo_color.png" />
        </div>
        <div class="type">
          <span :class="loginType==1 ? 'active': '' " @click="tabFunc(1)">集团登录</span>
          <el-divider direction="vertical" />
          <span :class="loginType==2 ? 'active': '' " @click="tabFunc(2)">学校登录</span>
          <el-divider direction="vertical" />
          <span :class="loginType==3 ? 'active': '' " @click="tabFunc(3)">老师登录</span>
          <el-divider direction="vertical" />
          <span :class="loginType==4 ? 'active': '' " @click="tabFunc(4)">学生登录</span>
        </div>
        <el-form
          ref="ruleFormRef"
          :model="ruleForm"
          :rules="rules"
          label-width="0px"
          class="white-module global-ruleForm login-ruleForm"
          :size="formSize"
        >
          <el-form-item prop="name">
            <el-input v-model="ruleForm.name" placeholder="请输入">
              <template #prefix>
                <img class="input_img" src="@/assets/login/user.png" />
              </template>
            </el-input>
          </el-form-item>
          <el-form-item prop="pwd">
            <el-input
              v-model="ruleForm.pwd"
              type="password"
              placeholder="请输入"
            >
              <template #prefix>
                <img class="input_img" src="@/assets/login/pwd.png" />
              </template>
            </el-input>
          </el-form-item>

          <el-form-item class="btns">
            <el-button type="primary" @click="submitForm(ruleFormRef)"
              >登录</el-button
            >
          </el-form-item>
          <div class="oper">
            <div>
              <el-checkbox v-model="ruleForm.checked1" label="记住用户名" />
            </div>
<!--            <div @click="dialogVisible = true">注册账号</div>-->
          </div>
          <div class="protocol">
            <el-checkbox
              v-model="ruleForm.checked2"
              label="点击同意并接受即表示您已阅读了解并同意"
            /><span class="text" @click="protocolVisible = true"
              >《用户协议》</span
            >
          </div>
        </el-form>
      </div>
    </div>
    <el-dialog
      v-model="dialogVisible"
      title=""
      width="420px"
      custom-class="email-pwd"
      :before-close="handleClose"
    >
      <div class="titles">
        <p>注册账号</p>
        <div>欢迎注册小鸟飞飞线上课程平台</div>
      </div>
      <el-form
        v-if="emailStatus <= 2"
        ref="registerFormRef"
        :model="registeForm"
        :rules="registerRules"
        label-width="0px"
        class="white-module global-ruleForm login-ruleForm email-ruleForm"
        :size="formSize"
      >
        <el-form-item prop="company">
          <el-input v-model="registeForm.company" placeholder="请输入您的公司名称">
            <template #prefix>
              <img class="input_img" src="@/assets/login/email.png" />
            </template>
          </el-input>
        </el-form-item>
        <el-form-item prop="contacts">
          <el-input v-model="registeForm.contacts" placeholder="请输入您的姓名">
            <template #prefix>
              <img class="input_img" src="@/assets/login/email.png" />
            </template>
          </el-input>
        </el-form-item>
        <el-form-item prop="phone">
          <el-input v-model="registeForm.phone" placeholder="请输入您的手机号">
            <template #prefix>
              <img class="input_img" src="@/assets/login/email.png" />
            </template>
          </el-input>
        </el-form-item>

        <el-form-item class="btns">
          <el-button
            type="primary"
            @click="registerUser(registerFormRef)"
            >确定</el-button
          >
        </el-form-item>
      </el-form>
      <div class="succestext" v-if="emailStatus == 3">
        <!--请注意查收邮件，并按照邮件中的提示操作，完成 安全验证。没有收到？-->
        注册成功！请到登录页面选择"集团登录"，使用刚刚登记的手机号进行登录,密码123456
        <br />
        <span @click="emailStatus = 1;dialogVisible = false; ">去登录</span>
      </div>
    </el-dialog>
    <el-dialog
      v-model="protocolVisible"
      title="用户协议"
      width="600px"
    >
      <div style="height:500px;overflow-y:auto;" class="global-scroll">
        一、说明
        <br/>小鸟飞飞课程资源平台产品和/或服务是由上海市歌尔泰克机器人有限公司（地址：上海市青浦区华新镇华隆路1777号）作为处理者提供（以下简称「平台」或「我们」）。平台为用户通过网站（www.fii-cc.com）以及我们现在或将来还可能不时提供的其他程序、软件、客户端或其他类似产品提供在线课程资源产品和服务，以便于您开展无人机与航空科普相关的课程教学。
        <br/>本用户协议双方为上海歌尔泰克机器人有限公司旗下网络教育服务平台（下称“平台”）与本平台网络用户，本用户协议具有合同效力。本用户协议内容包括协议正文及所有本平台已经发布的或将来可能发布的各类规则。所有规则为协议不可分割的一部分，与协议正文具有同等法律效力
        <br/>在本用户协议中没有以“规则”字样表示的链接文字所指示的文件不属于本用户协议的组成部分，而是其它内容的协议或有关参考数据，与本协议没有法律上的直接关系。
        <br/>用户在使用本平台提供的各项服务的同时，承诺接受并遵守各项相关规则的规定。本平台有权根据需要不时地制定、修改本协议或各类规则，如本协议有任何变更，本平台将在网站上刊载公告，通知予用户。如用户不同意相关变更，必须停止使用前述本平台提供的“服务”。经修订的协议一经在本平台网站公布后，立即自动生效，即可按新修订的协议履行。各类规则会在发布后生效，亦成为本协议的一部分。登录或继续使用“服务”将视为用户接受经修订的协议。除另行明确声明外，任何使“服务”范围扩大或功能增强的新内容均受本协议约束
        <br/>用户勾选“我已阅读并接受《用户服务协议》”，本用户协议即在用户和本平台之间产生法律效力。请用户务必在注册之前认真阅读全部用户协议内容，如有任何疑问，可向本平台咨询。 1)无论用户事实上是否在注册之前认真阅读了本用户协议，只要用户一经勾选并按照本平台注册程序成功注册为用户，用户的行为视为其同意并签署了本用户协议。 2)本协议不适用用户与本平台其它用户之间产生的法律关系及法律纠纷。
        <br/>二、定义
        <br/>本平台网络教育平台：有关本平台网络教育平台上的术语或图示的含义，详见网站介绍。
        <br/>用户及用户注册：用户应为具备完全民事行为能力的自然人。无民事行为能力人或限制民事行为能力人没有监护人授权的，不应注册为本平台用户，其与本平台之间的用户协议自始无效，本平台一经发现，有权立即注销该用户，并追查其使用本平台“服务”的一切经济损失。用户注册是指用户登录本平台网络教育平台，并按要求填写相关信息并确认同意履行相关用户协议的过程。用户因进行交易、获取有偿服务或接触本平台网络教育平台服务器而发生的所有应纳税赋，以及一切硬件、软件、服务及其它方面的费用均由用户负责支付。本平台网站仅作为网络教育培训平台。
        <br/>三、用户权利和义务：
        <br/>所有用户必须遵循：
        <br/>- 遵守所有使用网络服务的网络协议、规定、程序和惯例；
        <br/>- 不得使用本平台从事违法活动；
        <br/>- 不得干扰或侵犯本平台的正常运行和其他用户的正常使用；
        <br/>- 未经允许，不得以任何形式下载或试图下载本平台的任何内容；
        <br/>- 用户购买的课程只允许个人使用，不能用于其他目的；
        <br/>- 从中国境内向境外传输技术性资料时不得违反中国有关法律、法规。
        <br/>同时用户承诺：
        <br/>（1）不得利用本平台网络教育平台制作、复制、查阅和传播下列信息：
        <br/>-任何非法的、骚扰性的、中伤他人的、辱骂性的、恐吓性的、伤害性的、庸俗的、淫秽的信息资料；
        <br/>-任何教唆他人进行违法犯罪行为的资料；
        <br/>-不利于国内团结和社会安定的资料；
        <br/>-任何不符合国家法律、法规规定的资料、信息；
        <br/>-任何捏造或者歪曲事实，散布谣言，扰乱社会秩序的信息；
        <br/>-损害本平台及上海歌尔泰克机器人有限公司声誉和商业利益的信息；
        <br/>（2）不得未经许可而非法进入其它个人或组织电脑系统；
        <br/>（3）未经允许，不得对本平台网络教育平台中存储、处理或者传输的数据和应用程序进行删除、修改或者增加；
        <br/>（4）不得故意制作、传播计算机病毒等破坏性程序；
        <br/>（5）法律规定的其他义务。
        <br/>如果用户的行为违背上述两款规定，本平台可以做出独立判断并有权立即注销用户资格。用户应对自己在本平台网络教育平台上的违法行为承担全部法律责任，包括但不限于民事责任、刑事责任和经济损失等
        <br/>基于网络服务的特殊性，用户同意：
        <br/>- 在注册时按照注册提示提供准确用户名和密码以及详尽的个人资料；
        <br/>- 在个人的注册信息发生变化时，用户应及时更新自己的注册信息，保证其个人资料的详尽和准确。所有用户输入的个人信息将被视作准确表明了用户的身份，并作为本平台提供所有服务的有效身份依据。
        <br/>- 用户自行配备上网的所需设备，包括个人电脑、调制解调器或其他必备上网装置；
        <br/>- 用户应自行负担因使用这种接入方式而产生的上网电话费、上网信息费及教育信息费。用户的用户名、密码。
        <br/>- 用户一旦注册成功，成为本平台网络课堂的正式用户后，应当对自己的用户名（亦称帐号）、密码的安全性负全部责任。用户的密码只能由用户自己掌握。
        <br/>- 对于用户因帐号或密码泄露造成的各种损失，本平台不承担任何责任。用户发现任何非法使用用户帐号的情况，应立即通知本平台
        <br/>- 用户应对以其用户名进行的所有活动和事件负责。
        <br/>- 一个听课帐号只能由一个用户使用，不允许多个用户使用同一个听课帐号，如果用户违反此规定，本平台将有权将此听课帐号做注销处理并有权追究其法律责任。
        <br/>- 用户应使用正版课程资料，对于涉嫌盗版听课账号，一经证实，本平台将有权将此听课账号做注销处理并有权追究该用户的法律责任。
        <br/>四、关于网络课堂的说明
        <br/>1、所有网络课堂一经购买（包括网上注册、邮局汇款、银行电汇等各种购买方式），都不允许任何形式的退换。确有质量问题除外。
        <br/>2、所支付的金额仅包含本平台网络课堂的教育信息费，而不包含上网电话费、上网信息费等。
        <br/>3、用户购买套装课程，须遵守以下规则：
        <br/>- 只能听取套装课程范围之内的课程；套装课程范围之外的课程，用户无权使用；
        <br/>- 对于套装课程，学员可重复观看视频。但是，课程配套的相关服务只有在规定时间内才可使用。
        <br/>五、本平台的权利和义务
        <br/>本平台有义务在现有技术上维护整个网络教育平台的正常运行，并努力提升和改进技术，使用户网络教育活动得以顺利进行；
        <br/>对用户在注册使用本平台网络教育平台中所遇到的与交易或注册有关的问题及反映的情况，本平台应及时作出回复；
        <br/>对于用户在本平台网络教育平台上的不当行为或其它任何本平台认为应当终止服务的情况，本平台有权随时作出删除相关信息、终止服务提供等处理，而无须征得用户的同意； 本平台应本着诚实信用的原则向用户提供远程教育服务，不得随意中断或停止提供该项服务。但由于不可抗力或者其它非人为因素造成的服务的中断或停止，本平台不承担任何相应的责任。
        <br/>本平台网站内以任何形式表现的作品（包括但不限于文字、软件、声音、图片、录像、表格、电子邮件等）的著作权，由作品的著作权人和上海歌尔泰克机器人有限公司共同享有，用户未经许可，不得擅自对本平台包括电子课件在内的任何作品进行任何形式的翻录、复制或从事其他任何违反著作权法等相关法律、法规的活动。对侵犯本平台知识产权的个人和组织，上海歌尔泰克机器人有限公司和作品的著作权人将依法追究其民事或刑事责任。
        <br/>本平台享有对用户网上活动的监督和指导权，对凡是从事网上非法活动的用户，有权终止所有服务，上海歌尔泰克机器人有限公司并有权对该用户追究民事和刑事责任。
        <br/>许可使用权。本平台对用户在网上发表的供学习交流的作品，享有独家的出版、发行和复制的权利。用户以此授予本平台及其关联公司独家的、全球通用的、永久的、免费的许可使用权利 (并有权在多个层面对该权利进行再授权)，使本平台及其关联公司有权(全部或部份地) 使用、复制、修订、改写、发布、翻译、分发、执行和展示用户的全部资料数据（包括但不限于注册资料、交易行为数据及全部展示于网站的各类信息）或制作其派生作品，和/或以现在已知或日后开发的任何形式、媒体或技术，将上述信息纳入其它作品内；
        <br/>本平台会在用户的计算机上设定或取用本平台cookies。在用户登录时获取数据，本平台使用cookies可为用户提供个性化服务。如果拒绝所有 cookies，用户将不能使用需要登录的本平台产品及服务内容。
        <br/>Cookies：中文名称为小型文本文件，指某些网站为了辨别用户身份而储存在用户本地终端(ClientSide)上的数据(通常经过加密)。
        <br/>用户协议的修改和完善
        <br/>1、本平台将根据互联网的发展和法律、法规的变化，在认为必要时可以单方面修改用户协议。
        <br/>2、本用户协议一旦发生变动，将会在重要页面上提示修改内容。如果不同意所改动的内容，用户可以主动放弃获得的网络服务。如果用户继续享用网络服务，则视为接受用户协议的变动。当发生争议时，应以最新用户协议的内容为准。
        本平台有权根据实际情况，调整网络课程的任课教师，该教师如与宣传材料不符以实际任课教师为准。本平台将最大限度的保护用户的听课质量。
        <br/>六、服务的中断和终止
        <br/>用户同意，在发生违反本协议约定的情况下，本平台可自行全权决定以任何理由 (包括但不限于本平台认为用户已违反本协议的字面意义和精神，或以不符合本协议的字面意义和精神的方式行事等) 终止用户的“服务”密码、账户 (或其任何部份) 或用户对“服务”的使用，并删除（不再保存）用户在使用“服务”中提交的任何资料。同时本平台可自行全权决定，在发出通知或不发出通知的情况下，随时停止提供“服务”或其任何部份。账号终止后，本平台不负责为用户保留原账号中或与之相关的任何信息，或转发任何未曾阅读或发送的信息给用户或第三方。
        <br/>此外，用户同意，本平台对用户所采取的终止接入“服务”行为，不向用户或任何第三方承担任何责任。
        <br/>如用户向本平台提出注销本平台注册用户身份时，经本平台审核同意，由本平台注销该注册用户，用户即解除与本平台的用户协议关系。但注销该用户账号后，本平台仍保留下列权利：
        <br/>① 用户注销后，本平台有权保留该用户的注册数据及以前的行为记录；
        <br/>② 用户注销后，如用户在注销前在本平台网络教育平台上存在违法行为或违反合同的行为，本平台仍可行使本用户协议所规定的权利。
        <br/>在下列情况下，本平台可以通过注销用户的方式终止服务：
        <br/>①在用户违反本用户协议相关规定时，本平台有权终止向该用户提供服务。本平台将在中断服务时通知用户。但如该用户在被本平台终止提供服务后，再一次直接或间接或以他人名义注册为本平台用户的，经本平台核查后有权再次单方面终止向该用户提供服务；
        <br/>②如本平台通过用户提供的信息与用户联系时，发现用户在注册时填写的电子邮箱、地址等联系方式已不存在或无法接收，经本平台以其它联系方式通知用户更改，而用户仍未能提供新的电子邮箱、地址等，本平台有权终止对该用户提供邮件和快递发送等服务，需用户自行与本平台联系；
        <br/>③ 一旦本平台发现用户注册数据中主要内容是虚假的，本平台有权随时终止向该用户提供服务；
        <br/>④ 用户协议终止或更新时，用户明示不愿接受新的用户协议的；
        <br/>⑤ 本平台认为需终止服务的情况。
        <br/>七、责任范围
        <br/>用户明确理解和同意，本平台不对因下述任一情况而导致的任何损害赔偿承担责任，包括但不限于利润、商誉、使用、数据等方面的损失或其它无形损失的损害赔偿 (无论本平台是否已被告知该等损害赔偿的可能性)：
        <br/>（1）使用或未能使用“服务；
        <br/>（2）第三方未经批准的接入或被第三方更改用户的传输数据或数据；
        <br/>（3）第三方对“服务”的声明或关于“服务”的行为；或非因本平台的原因而引起的与“服务”有关的任何其它事宜，包括疏忽；
        <br/>（4）用户明确理解并同意，如因其违反有关法律或者本协议之规定，使本平台遭受任何损失，受到任何第三方的索赔，或任何行政管理部门的处罚，用户需对本平台提供补偿，包括合理的律师费用及经济损失等。
        <br/>担保责任
        <br/>本平台不担保其服务一定能够满足用户的要求，也不担保其服务不会因各种客观原因中断。本平台拒绝提供担保，由用户自己承担系统受损或资料丢失的风险和责任。
        <br/>八、隐私权政策
        <br/>适用范围：
        <br/>① 用户注册本平台账户时，用户根据本平台要求提供的个人注册信息；
        <br/>② 在用户使用本平台服务，参加本平台活动，或访问本平台网页时，本平台自动接收并记录的用户浏览器上的服务器数值，包括但不限于IP地址等数据及用户要求取用的网页记录；
        <br/>③ 本平台收集到的用户在使用本平台网站的有关数据，包括但不限于购买、听课等行为；
        <br/>④ 本平台通过合法途径从商业伙伴处取得的用户个人数据。
        <br/>信息使用：
        <br/>① 本平台不会向任何人出售或出借用户的个人信息，除非事先得到用户的许可；
        <br/>② 本平台亦不允许任何第三方以任何手段收集、编辑、出售或者无偿传播用户的个人信息。任何用户如从事上述活动，一经发现，本平台有权立即终止与该用户的用户协议，查封其账号；
        <br/>③ 为服务用户的目的，本平台可能通过使用用户的个人信息，向用户提供服务，包括但不限于向用户发出产品和服务信息，或者与本平台合作伙伴共享信息以便他们向用户发送有关其产品和服务的信息（后者需要用户的事先同意）。
        <br/>信息披露：
        <br/>用户的个人信息将在下述情况下部分或全部被披露：
        <br/>① 经用户同意，向第三方披露；
        <br/>② 如用户是合资格的知识产权投诉人并已提起投诉，应被投诉人要求，向被投诉人披露，以便双方处理可能的权利纠纷；
        <br/>③ 根据法律的有关规定，或者行政或司法机构的要求，向第三方或者行政、司法机构披露；
        <br/>④ 如果用户出现违反中国有关法律或者网站政策的情况，需要向第三方披露；
        <br/>⑤ 为提供用户所要求的产品和服务，而必须和第三方分享用户的个人信息；
        <br/>⑥ 其它本平台根据法律或者网站政策认为合适的披露。
        <br/>信息安全：
        <br/>① 本平台账户有安全保护功能，请妥善保管用户的账户及密码信息；
        <br/>② 如果用户发现自己的个人信息泄密，尤其是本平台账户及密码发生泄露，请用户立即联络本平台客服，以便本平台采取相应措施。
        <br/>Cookie的使用：
        <br/>① 通过本平台在线所设Cookie所取得的有关信息，将适用本政策；
        <br/>②编辑和删除个人信息的权限： 用户可以点击“我的课堂”对用户的个人信息进行编辑和删除，除非本平台另有规定；
        <br/>③政策修改：本平台保留对本隐私权政策作出不时修改的权利。
        <br/>九、法律与管辖：
        <br/>本用户协议根据现行中华人民共和国法律法规制定。如发生协议条款与中华人民共和国法律法规相抵触时，则这些条款将完全按法律法规的规定重新解释，本用户协议的其它条款仍对本平台和用户具有法律约束力。因本用户协议而发生的任何争议应向对北京市海淀区有管辖权的人民法院提起诉讼。

      </div>
    </el-dialog>
    <el-dialog title="请重置密码" v-model="resetPassData.showResetPass">
      <el-form :model="resetPassForm" :rules="updateRules" ref="ruleFormRef2">
        <el-form-item label="输入新密码" prop="password" :label-width="formLabelWidth">
          <el-input v-model="resetPassForm.password"  type="password" autocomplete="off"></el-input>
        </el-form-item>
        <el-form-item label="再次输入密码" prop="password2"  :label-width="formLabelWidth">
          <el-input v-model="resetPassForm.password2"  type="password" autocomplete="off"></el-input>
        </el-form-item>

      <div slot="footer" class="dialog-footer">


        <el-button @click="resetPassData.showResetPass = false">取 消</el-button>
        <el-button type="primary"  @click="resetPass(ruleFormRef2)">确 定</el-button>
      </div>
      </el-form>
    </el-dialog>
  </div>
</template>

<script lang="ts" setup>
import particles from "./components/particles/particles.vue";
import slider from "./components/slider/slider.vue";
import {defineComponent, reactive, ref} from "vue";
import { ElMessage, ElMessageBox } from "element-plus";
import type { FormInstance, UploadProps } from "element-plus";
import baseService from "@/service/baseService";
import router from "@/router";
import {getCache, setCache} from "@/utils/cache";
const formSize = ref("default");
//登录方式 1集团 3老师 4学生
const loginType = ref(3);
//弹窗
const dialogVisible = ref(false);
//隐私协议
const protocolVisible = ref(false);

const emailStatus = ref(1);
const ruleFormRef = ref<FormInstance>();
const ruleForm = reactive({
  name: "",
  pwd: "",
  checked2: true
});

const registeForm = reactive({
  company: "",
  contacts: "",
  phone: ""
});

const resetPassData=reactive({showResetPass:false});
const resetPassForm = reactive({password:"",password2:""});
const formLabelWidth =ref('120px');
const ruleFormRef2 = ref<FormInstance>();
const registerFormRef = ref<FormInstance>();

const rules = reactive({
  name: [{ required: true, message: "请输入名称", trigger: "blur" }],
  pwd: [{ required: true, message: "请输入密码", trigger: "blur" }],
});

const valPwd = (rule: any, value: string, callback: any) => {
 if (value!==resetPassForm.password) {
    callback(new Error("两次输入密码不一致"));
  } else {
    callback();
  }
};

const valPwd2 = (rule: any, value: string, callback: any) => {
  if (value===ruleForm.pwd) {
    callback(new Error("两次输入密码不一致"));
  } else {
    callback();
  }
};

const updateRules = reactive({
  password: [{ required: true, message: "请输入密码", trigger: "blur" },{ validator: valPwd2, message: "不能使用初始默认密码！", trigger: "blur" }],
  password2: [{ required: true, message: "请再次输入密码", trigger: "blur" },{ validator: valPwd, message: "两次输入密码不一致！", trigger: "blur" }],
});

const registerRules = reactive({
  company: [{ required: true, message: "请输入公司名称", trigger: "blur" }],
  contacts: [{ required: true, message: "请输入姓名", trigger: "blur" }],
  phone: [{ required: true, message: "请输入手机号", trigger: "blur" }]
});



const submitForm = async (formEl: FormInstance | undefined) => {
  if(!ruleForm.checked2){
    ElMessage.error("您未同意用户协议，请先同意！");
    return;
  }
  if (!formEl) return;
  await formEl.validate((valid, fields) => {
    if (valid) {
      baseService
          .post("/fii/front/user/login",{account:ruleForm.name,password:ruleForm.pwd,type:loginType.value})
          .then((res) =>
              {
                if (res.code === 0) {
                  setCache("CacheToken", res.data,true);
                  setCache("userType", loginType.value+'', true);
                  // 成功登录后将token存入cookie
                  // 设置cookies
                  $cookies.set("loginCookie", res.data.account, '1m', '/', 'fii-cc.com');
                  /**
                   * 如果是初始化状态，则修改密码
                   * 学生账户：密码能都默认锁定123456，不触发首次改密码
                   */
                  if ( res.data.status=== 2 && loginType.value!==4) {
                    resetPassData.showResetPass=true;
                    return;
                  }
                  if(loginType.value==1){
                    console.log(getCache("CacheToken"));
                    router.push("/school/list");
                  }
                  if(loginType.value==2 || loginType.value==3){
                    console.log(getCache("CacheToken"));
                    router.push("/course/list");
                  }
                  if(loginType.value==4){
                    console.log(getCache("CacheToken"));
                    router.push("/class_room");
                  }

                } else {
                  ElMessage.error(res.msg);
                }
              }
      );

    } else {
      console.log("error submit!", fields);
    }
  });
};

const emailSuccess = () => {
  emailStatus.value = 2;
};
const submitEmail = () => {
  emailStatus.value = 3;
};

const handleClose = (done: () => void) => {
  done();
  emailStatus.value = 1;
};

const tabFunc = (index: number) => {
  loginType.value = index;
};

/**
 * 注册
 * @param formEl
 */
const registerUser = async (formEl: FormInstance | undefined) => {
  if (!formEl) {
    return;
  };
  await formEl.validate((valid, fields) => {
    if (valid) {
      baseService
          .post("/fii/front/account/register",{company:registeForm.company,contacts:registeForm.contacts,phone:registeForm.phone})
          .then((res) =>
              {
                if (res.code === 0) {
                  emailStatus.value = 3;
                  ElMessage.success("注册成功！");
                } else {
                  ElMessage.error(res.msg);
                }
              }
          );
    }
  });
};

const resetPass = async (formEl: FormInstance | undefined) => {
  if(!ruleForm.checked2){
    ElMessage.error("您未同意用户协议，请先同意！");
    return;
  }
  if (!formEl) {
    return;
  };
  console.log(formEl);
  await formEl.validate((valid, fields) => {
    if (valid) {
      baseService
          .post("/fii/front/account/updatePwd",{password:resetPassForm.password,oldPassword:ruleForm.pwd})
          .then((res) =>
              {
                if (res.code === 0) {
                  ElMessage.success("重置密码成功！");
                  if(loginType.value==1 || loginType.value==2){
                    console.log(getCache("CacheToken"));
                    router.push("/school");
                  }
                  if(loginType.value==3){
                    console.log(getCache("CacheToken"));
                    router.push("/course/list");
                  }
                  if(loginType.value==4){
                    console.log(getCache("CacheToken"));
                    router.push("/class_room");
                  }
                } else {
                  ElMessage.error(res.msg);
                }
              }
          );

    } else {
      console.log("error submit!", fields);
    }
  });
};


</script>
<style scoped lang="scss">
.module {
  position: fixed;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 99;
  .content {
    width: 420px;
    background: #ffffff;
    box-shadow: 0px 4px 9px 2px rgba(51, 51, 51, 0.12);
    border-radius: 8px;
    overflow: hidden;
    .logo {
      width: 130px;
      height: 34px;
      margin: auto;
      padding: 40px 0px;
      img {
        width: 100%;
        height: 100%;
      }
    }

    .type {
      display: flex;
      justify-content: center;
      align-items: center;
      padding-bottom: 32px;
      cursor: pointer;
      span {
        font-size: 18px;
        font-weight: 500;

        color: #4f5a70;
        padding: 0px 0px;
      }
      .active {
        color: #00a0e9;
      }
    }
  }
}
</style>
<style  lang="scss">
.login-ruleForm {
  padding: 0px 40px;
  .el-input,
  .el-select {
    width: 100%;
  }
  .el-input .el-input__inner {
    padding-left: 38px !important;
  }

  .input_img {
    width: 18px;
    height: 18px;
    margin-top: 9px;
    left: 0px;
    margin-right: 5px;
  }
  .el-form-item--default {
    margin-bottom: 24px;
  }
  .el-form-item--default .el-form-item__error {
    padding-top: 5px;
  }
  .btns {
    padding-top: 30px;
    .el-button {
      height: 44px !important;
      width: 100% !important;
      margin: 0px !important;
    }
  }
  .oper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: -12px;
    color: #959ca9;
    .el-checkbox {
      height: auto;
      vertical-align: middle;
    }
    .el-checkbox__label {
      color: #959ca9;
    }
    div:last-child {
      cursor: pointer;
    }
  }
  .protocol {
    margin-top: 80px;
    line-height: 40px;
    margin: 80px -40px 0px;
    background: #f5f7fa;
    text-align: center;
    font-size: 12px;
    font-weight: 400;
    color: #333333;
    .el-checkbox {
      height: auto;
      vertical-align: middle;
    }
    .el-checkbox__label {
      color: #333333;
      line-height: 0px;
      font-size: 12px;
    }
    span.text {
      color: #2aafec;
      cursor: pointer;
    }
  }
}
.email-pwd {
  .titles {
    text-align: center;
    p {
      font-size: 18px;
      font-weight: 500;
      color: #333333;
      line-height: 18px;
      margin: 10px 0px 0px;
    }

    div {
      font-size: 14px;
      font-weight: 400;
      color: #959ca9;
      margin-top: 8px;
    }
  }
  .email-ruleForm {
    padding: 0px 20px !important;
    margin-top: 60px;
    .validity {
      margin-top: -4px;
      text-align: center;
      margin-bottom: 16px;
    }

    .btns {
      padding-top: 40px;
    }
  }
  .succestext {
    font-size: 14px;
    padding: 80px 36px 200px;
    text-align: center;
    font-weight: 400;
    color: #333333;
    line-height: 23px;
    span {
      color: #00a0e9;
    }
  }
}
</style>
